home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
TPUG Xtras
/
Unreleased
/
(c)sd.d64
/
wubics cube
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-02-04
|
7KB
|
217 lines
10 POKE 53281,0:POKE 53280,0
20 IF PEEK(52128)=1 THEN GOTO 80
30 IF LAST=1 THEN GOTO 70
40 PRINT"[147]"
50 PRINT"PLEASE WAIT LOADING!!!!"
60 LAST=1:FOR X=1 TO1000:NEXT:LOAD "MWUBIC",8,1
70 POKE 52128,1
80 POKE 52112,0:GOSUB 1140
90 IF S$<>"Y"GOTO 110
100 GOSUB 1440
110 GOSUB 940
120 FOR Y=1 TO 9
130 POKE 51984+Y,5
140 POKE 52000+Y,2
150 POKE 52016+Y,1
160 POKE 52032+Y,7
170 POKE 52048+Y,8
180 POKE 52064+Y,6
190 NEXT Y
200 R$="990000"
210 FL=50277:FR=50436:CU=52584:LU=50595:MU=50759:RU=50860:CD=52592:LD=51024
220 MD=51188:RD=51289:CR=51453:TR=51458:MR=51620:BR=51719:CL=52219:TL=52224:G=1
230 ML=52386:BL=52485:Q=-1:TI$="000000"
240 PRINT" TYPE (S) IF YOU WANT IT TO SCRAMBLE "
250 GOSUB 1940
260 SYS 49169
270 GET A$:IF G=1 THENPRINT" [160] ":GOTO 310
280 IF F=1 THEN LET TI$=G$
290 PRINT" TIME "MID$(TI$,3,2)":"RIGHT$(TI$,2)
300 GOSUB 2020
310 GOSUB 1940
320 IF M=1 THEN GOSUB1980
330 IF A$="S"THEN W1=1:SCR=0:G=1:GOTO 490
340 IF A$=" "ANDW1=1THEN W1=0:GOTO 640
350 IF W1=1 THEN GOTO 490
360 IF A$="*"THEN GOTO 670
370 IF A$="" THEN 270
380 PRINT" [145]"
390 IF A$="[198]" THEN POKE 52112,1
400 IF A$="[211]" THEN POKE 52112,0
410 PRINT" [145]"
420 B=5:GET B$:IF B$="" GOTO 410
430 IF B$="U" THEN B=1
440 IF B$="D" THEN B=2
450 IF B$="R" THEN B=3
460 IF B$="L" THEN B=4
470 IF B=5 THEN GOTO 620
480 GOTO 540
490 W1=1:B=INT(RND(1)*18+1):G$="000000"
500 SCR=SCR+1:IF SCR>30 THEN PRINT" READY!!":GOSUB 1940
510 M=0:IF SCR>30THENPRINT" HIT SPACE BAR TO STOP THE CUBE ":GOSUB 1940
520 IF B=18 GOTO 890
530 ONBGOTO700,710,730,740,750,760,780,790,810,820,840,820,900,910,920,930,880
540 IF F=1 THEN LET M=1:G=1
550 IF A$="L" GOTO 690
560 IF A$="M" GOTO 720
570 IF A$="R" GOTO 770
580 IF A$="T" GOTO 800
590 IF A$="B" GOTO 830
600 IF A$="C" GOTO 860
610 IF A$="F" GOTO 870
620 IF Q=1 THEN A$=B$:Q=-1*Q:GOTO 330
630 GOSUB 1950:A$=B$:Q=-1*Q:GOTO 330
640 PRINT" TYPE (*) TO FIX THE CUBE ":GOSUB 1940:G=0
650 PRINT" [145]"
660 TI$="000000":GOTO 270
670 PRINT" I SEE THAT YOUR CHEATING!!!!!":GOSUB 1940:G=1
680 FOR X=1 TO1500:NEXT:GOTO 120
690 ON B GOTO 700,710,620,620
700 PRINT"LU LEFT UP [145]":SYS LU:GOTO 270
710 PRINT"LD LEFT DOWN [145]":SYS LD:GOTO 270
720 ON B GOTO 730,740,750,760
730 PRINT"MU MIDDLE UP [145]":SYS MU:GOTO 270
740 PRINT"MD MIDDLE DOWN [145]":SYS MD:GOTO 270
750 PRINT"MR MIDDLE RIGHT[145]":SYS MR:GOTO 270
760 PRINT"ML MIDDLE LEFT [145]":SYS ML:GOTO 270
770 ON B GOTO 780,790,620,620
780 PRINT"RU RIGHT UP [145]":SYS RU:GOTO 270
790 PRINT"RD RIGHT DOWN [145]":SYS RD:GOTO 270
800 ON B GOTO 620,620,810,820
810 PRINT"TR TOP RIGHT [145]":SYS TR:GOTO 270
820 PRINT"TL TOP LEFT [145]":SYS TL:GOTO 270
830 ON B GOTO 620,620,840,850
840 PRINT"BR BOTTOM RIGHT[145]":SYS BR:GOTO 270
850 PRINT"BL BOTTOM LEFT [145]":SYS BL:GOTO 270
860 ON B GOTO 900,910,920,930
870 ON B GOTO 620,620,890,880
880 PRINT"FL FRONT LEFT [145]":SYSFL:GOTO 270
890 PRINT"FR FRONT RIGHT [145]":SYSFR:GOTO 270
900 PRINT"CU CUBE UP [145]":SYSCU:GOTO 270
910 PRINT"CD CUBE DOWN [145]":SYSCD:GOTO 270
920 PRINT"CR CUBE RIGHT [145]":SYSCR:GOTO 270
930 PRINT"CL CUBE LEFT [145]":SYSCL:GOTO 270
940 PRINT"[147] [169] [146][169][169] [146][169][169] [146][169][169]"
950 PRINT" [169] [146][169][169] [146][169][169] [146][169][169] "
960 PRINT" [169] [146][169][169] [146][169][169] [146][169][169] [146] "
970 PRINT" [169] [146][169][169] [146][169][169] [146][169][169] [146][169] "
980 PRINT" [169] [146][169][169] [146][169][169] [146][169][169] [146][169][169]"
990 PRINT" [169] [146][169][169] [146][169][169] [146][169][169] [146][169][169] "
1000 PRINT" [146] [146] [146] [146][169][169] "
1010 PRINT" [146] [146] [146] [146][169][169] [146][169]"
1020 PRINT" [146] [146] [146] [169][169] [146][169][169]"
1030 PRINT" [169] [146][169][169] "
1040 PRINT" [146] [146] [146] [146][169][169] "
1050 PRINT" [146] [146] [146] [146][169][169] [146][169]"
1060 PRINT" [146] [146] [146] [169][169] [146][169]"
1070 PRINT" [146] [169] [146][169]"
1080 PRINT" [146] [146] [146] [146][169]"
1090 PRINT" [146] [146] [146] [146][169]"
1100 PRINT" [146] [146] [146] [169]"
1110 FOR X=1 TO 9
1120 READ Y:POKE 1000+Y,160:POKE 1001+Y,160:POKE 1002+Y,160 :NEXT
1130 RETURN
1140 PRINT"[147]":POKE 53281,0
1150 FOR X=1 TO 9:READ F:NEXT
1160 FOR X=0TO164 :READ M:SYS49152:POKE 1024+M,PEEK(52992+X):SYS 49152:SYS 49152
1170 GETS$:IF S$<>""THEN GOTO 1210
1180 NEXT X
1190 PRINT"WOULD YOU LIKE INSTRUCTIONS (Y) OR (N)
1200 [161] S$:[158]49152:[158] 49152:[139] S$[178]""[167] [137] 1200
1210 [140]:[142]
1220 [131] 256,266,296,306,336,346,775,815,855
1230 [131] 82,87,90,93,96,97,98,99,102
1240 [131] 103,104,105,108,109,110,111,113
1250 [131] 115,116,117,122,127,130,133,136
1260 [131] 139,143,144,148,151,155,162,164
1270 [131] 165,167,170,173,176,177,178,179
1280 [131] 183,184,188,195,196,197,200,202
1290 [131] 203,204,205,206,207,210,213,216
1300 [131] 219,223,224,228,231,237,242,243
1310 [131] 246,247,250,251,252,253,256,257
1320 [131] 258,259,262,263,264,265,268,269
1330 [131] 270,271,275,276,277
1340 [131]200,369,370,371,372,375,378,381,382
1350 [131] 383,384,387,388,389,390,409,412
1360 [131] 415,418,421,424,427,449,455,458
1370 [131] 461,462,463,464,467,468,469,489
1380 [131] 492,495,498,501,504,507,526,529
1390 [131] 530,531,532,535,536,537,538,541
1400 [131] 542,543,544,547,548,549,550
1410 [131] 658,659,735,736,737,739,740,741,742
1420 [131] 743,744,814,815,816,817,818,819
1430 [131] 820,821,823,824,825,826
1440 [153]"LOAD THE WHOLE CUBE CAN MOVE"
1450 [153]" UP, DOWN, RIGHT OR LEFT"
1460 [153]
1470 [153]" CU=CUBE UP CD=CUBE DOWN "
1480 [153]" CR=CUBE RIGHT CL=CUBE LEFT "
1490 [153]
1500 [153]" THE RIGHT SECTION, MIDDLE SECTION, AND "
1510 [153]" LEFT SECTION WILL ONLY MOVE UP AND DOWN"
1520 [153]
1530 [153]" RU OR RD= RIGHT UP OR RIGHT DOWN "
1540 [153]" MU OR MD= MIDDLE UP OR MIDDLE DOWN "
1550 [153]" LU OR LD= LEFT UP OR LEFT DOWN "
1560 [153] " PRESS SPACE BAR TO CONTINUE "
1570 [161] S$:[139] S$[178]""[167] [137] 1570
1580 [153]"LOAD"
1590 [153]" THE TOP LAYER, MIDDLE LAYER,"
1600 [153]" AND BOTTOM LAYER CAN ONLY MOVE"
1610 [153]" RIGHT OR LEFT. THE FRONT WILL"
1620 [153]" ALSO MOVE ONLY RIGHT OR LEFT."
1630 [153]
1640 [153]"CLOSE TR OR TL= TOP RIGHT OR TOP LEFT "
1650 [153]" MR OR ML= MIDDLE RIGHT OR MIDDLE LEFT"
1660 [153]" BR OR BL= BOTTOM RIGHT OR BOTTOM LEFT"
1670 [153]" FR OR FL= FRONT RIGHT OR FRONT LEFT " "
1680 PRINT:PRINT " TO HAVE THE CUBE SCRAMBLE "
1690 PRINT" ITSELF TYPE (S).
1700 [153]" TO STOP THE CUBE HIT THE SPACE BAR"
1710 [153] " PRESS SPACE BAR TO CONTINUE "
1720 [161] S$:[139] S$[178]""[167] [137] 1720
1730 [153]"LOAD"
1740 [153]:[153] "THE CUBE HAS TWO SPEEDS THAT IT CAN MOVE"
1750 [153] " SHIFTWAIT(S) FOR SLOW OR
1760 PRINT " SHIFT[146](F) FOR FAST
1770 [153] " YOU CAN CHANGE IT AT ANY TIME JUST TYPE"
1780 [153] " THE ONE YOU WANT, IT WILL START SLOW."
1790 [153] " PRESS SPACE BAR TO CONTINUE "
1800 [161] S$:[139] S$[178]""[167] [137] 1800
1810 [153]"LOAD"
1820 [153] " AS IT IS SCRAMBLING"
1830 [153]" WATCH THE PRINTED COMMANDS":[153]" IT WILL HELP YOU BEC";
1840 [153]"OME MORE ":[153]" FAMILIAR WITH ITS COMMANDS"
1850 [153]" GOOD LUCK!!!!!"
1860 [153]" AS LAST RESORT TYPE (*) TO SOLVE THE CUBE"
1870 [153] " IF YOU WOULD LIKE TO REVIEW THE "
1880 [153] " INSTRUCTIONS AGAIN, TYPE (A)
1890 PRINT
1900 PRINT " PRESS SPACE BAR TO START YOUR FUN"
1910 GET S$:IF S$=""THEN GOTO 1910
1920 IF S$="A" THEN GOTO 1440
1930 RETURN
1940 PRINT"":RETURN
1950 M=1:IF A$=" "ORB$=" "THEN RETURN
1960 PRINT" WHAT KIND OF MOVE IS "A$;B$" ":M=1
1970 GOSUB 1940:RETURN
1980 M=0
1990 IFTI$<>"000000"THENPRINT" TYPE (*) TO FIX THE CUBE ":GOTO2010
2000 PRINT" TYPE (S) IF YOU WANT IT TO SCRAMBLE"
2010 GOSUB 1940:RETURN
2020 Z=0:FOR X=2 TO 9
2030 IF PEEK(51984+X)<>PEEK(51985)THEN Z=1
2040 IF PEEK(52000+X)<>PEEK(52001)THEN Z=1
2050 IF PEEK(52016+X)<>PEEK(52017)THEN Z=1
2060 IF PEEK(52032+X)<>PEEK(52033)THEN Z=1
2070 IF PEEK(52048+X)<>PEEK(52049)THEN Z=1
2080 IF PEEK(52064+X)<>PEEK(52065)THEN Z=1
2090 IF Z=1 THEN F=0:RETURN
2100 NEXT X
2110 PRINT" WAY TO GO, YOU'RE FINISHED !!!!! ":IF SCR<30 THEN GOTO 2125
2120 IF VAL(TI$)<VAL(R$) THEN R$=TI$
2125 G$=TI$:F=1:G=0:TI$="000000"
2130 PRINT"BEST TIME " MID$(R$,3,2)":"RIGHT$(R$,2)
2140 GOSUB 1940
2150 RETURN